
package com.jsd.demo.utils;

import java.util.ResourceBundle;

public class UppContants {
	
	public static String REDIS_PRENAME = "";
	
	static {
		ResourceBundle resource = ResourceBundle.getBundle("api_redis");//test为属性文件名，放在包com.mmq下，如果是放在src下，直接用test即可  
		REDIS_PRENAME = resource.getString("redis.prename");  
		resource = null;
	}
	public static final String UPP_CONSOLE_COOKIE_PATH="upp_console_cookie_path";
	
	public static final String UPP_CONSOLE_COOKIE_STAFF_KEY="console_staff_key";

	/**
	 * 编码格式
	 * */
	public static final String CHARSET = "charset";

	public static final String UPP_ALIPAY_CHARCODE = "utf-8";
	public static final String UPP_ALIPAY_SIGNTYPE = "MD5";
	
	public static final String UPP_IPOS_CHARCODE = "00";
	public static final String UPP_IPOS_SIGNTYPE = "MD5";
	
	/**
	 * 订单支付默认有效期单位
	 */
	public static final String UPP_PROID_UNIT="01";
	/**
	 * 订单支付默认有效期数量
	 */
	public static final String UPP_PERIOD="2";
	
	/**
	 * 订单在缓存中存储时间 秒  7200
	 */
	public static final int UPP_ORDER_TIME_OUT_SECONDS=7200;
	/**
	 * 红包有效时间 秒 24小时
	 */
	public static final int UPP_HB_EXPIRE_SECONDS=86400;
	/**
	 * WXH5支付缓存时间：  300   单位：s
	 */
	public static final int UPP_H5PAY_TIME_OUT_SECONDS=300;
	/**
	 * 订单块
	 */
	public static final String UPP_CACHE_ORDER_TEMP = REDIS_PRENAME + "CACHE";

	/**
	 * 静态参数块
	 */
	public static final String UPP_PARAM_CACHE_TEMP = REDIS_PRENAME + "CACHE";
	/**
	 * 统一支付支付预付单信息
	 */
	public static final String UPP_CACHE_UPPPAY_INFO = REDIS_PRENAME + "UPPPAY_";
	/**
	 * 支付机构缓存 KEY
	 */
	public static final String UPP_CACHE_PAYORG_KEY=REDIS_PRENAME + "PAYORG_KEY_";
	
	/**
	 * 银行列表缓存 KEY
	 */
	public static final String UPP_CACHE_BANK_KEY=REDIS_PRENAME + "BANK_KEY_";
	/**
	 * 内部商户缓存 KEY
	 */
	public static final String UPP_CACHE_MERCHNAT_KEY=REDIS_PRENAME + "INNER_MERCHANT_KEY_";
	/**
	 * 支付参数缓存 KEY
	 */
	public static final String UPP_CACHE_MERCHANTINFO_KEY=REDIS_PRENAME + "PAYINFO_KEY_";
	
	/**
	 * 接口类型缓存KEY
	 */
	public static final String UPP_CACHE_PAYTYPE_KEY=REDIS_PRENAME + "PAY_TYPE_KEY_";
	
	/**
	 * 支付订单缓存 KEY
	 */
	public static final String UPP_CACHE_ORDER_KEY=REDIS_PRENAME + "UPP_ORDER_KEY_";
	
	/**
	 * 支付相关二进制证书缓存
	 */
	public static final String UPP_CERTIFICATE_KEY=REDIS_PRENAME + "UPP_CERTIFICATE";
	
	
	/**
	 * 日历类型 0:MINUTE,1:HOUR,2:DATE,3：MONTH
	 */
	public static final String[] PERIODUNIT=new String[]{"00","01","02","03"};
	
	public static final String ORG_ALIPAY_INCOME="ORG_ALIPAY_INCOME";
	public static final String ORG_ALIPAY_OUTCOME="ORG_ALIPAY_OUTCOME";
	public static final String ORG_ALIPAY_ACCOUNT_LOG_ID="ORG_ALIPAY_ACCOUNT_LOG_ID";
	public static final String ORG_BUSI_CODE="ORG_BUSI_CODE";
	
	/**
	 * 成功状态码
	 */
	public static final String UPP_RETURN_CODE="0000";
	/**
	 * 字符串长度
	 */
	public static final int STR_SIZE=50;

	/**
	 * 支付机构返回 信息
	 */
	public static final String ORG_MSG="ORG_MSG";
	/**
	 * 第三方支付商户号
	 */
	public static final String ORG_MER_ID="ORG_MER_ID";
	/**
	 * 支付机构代码
	 */
	public static final String ORG_CODE="ORG_CODE";
	/**
	 * 支付机构支付日期
	 */
	public static final String ORG_PAY_DATE ="ORG_PAY_DATE";
	/**
	 * 对账时间
	 */
	public static final String UPP_CHECK_DATE="UPP_CHECK_DATE";
	/**
	 * 跳转到银行列表页
	 */
	public static final String UPP_TARGET_PAY_BANK = "0";

	/**
	 * 直接跳转到第三方支付平台
	 */
	public static final String UPP_TARGET_PAY_PAYORG = "1";
	/**
	 * 一码付
	 */
	public static final String UPP_TARGET_PAY_NATIVE = "2";
	
	/**
	 * POS支付
	 */
	public static final String UPP_TARGET_PAY_POS = "3";
	/**
	 * (新)一码付，识别浏览器下放商户
	 */
	public static final String UPP_TARGET_PAY_NEWNATIVE = "4";

	/**
	 * H5支付(UPP页面唤起支付)
	 */
	public static final String UPP_TARGET_H5_UPP_PAGE = "5";

	/**
	 * 拉取银行列表(不传订单信息作为入参)
	 */
	public static final String UPP_TARGET_UNIFIED_BANK_LIST = "6";

	/**
	 * 支付成功 ，在统一支付平台上的标识
	 */
	public static final String UPP_PAY_STATUS_SUCCESS="SUCCESS";
	
	
	
	/**
	 * 退款成功标识 
	 */
	public static final String UPP_REFUND_STATUS_SUCCESS="SUCCESS";
	/**
	 * 退款中标识 
	 */
	public static final String UPP_REFUND_STATUS_SUCC1="SUCC1";
	/**
	 * 退款失败标识 
	 */
	public static final String UPP_REFUND_STATUS_FAILED="FAILED";
	/**
	 * 收款账号
	 */
	public static final String ORG_COLLECT_ACCOUNT="ORG_COLLECT_ACCOUNT";

	/**
	 * 统一支付平台支付流水interid
	 */
	public static final String UPP_PAY_NO = "UPP_PAY_NO";
	/**
	 * 统一支付平台支付 支付回调 返回报文
	 */
	public static final String UPP_PAY_RETURN_MSG = "UPP_PAY_RETURN_MSG";
	/**
	 * 支付机构支付金额
	 */
	public static final String ORG_PAY_AMOUNT = "ORG_PAY_AMOUNT";
	/**
	 * 支付机构支付时间 YYYYMMDDHHMISS
	 */
	public static final String ORG_PAY_TIME = "ORG_PAY_TIME";
	/**
	 * 支付机构退款时间 YYYYMMDDHHMISS
	 */
	public static final String ORG_REFUND_TIME ="ORG_REFUND_TIME";
	/**
	 * 支付机构支付状态原始状态
	 */
	public static final String ORG_PAY_STATUS="ORG_PAY_STATUS";
	/**
	 * 统一支付平台支付状态SUCCESS,FAILED
	 */
	public static final String UPP_PAY_STATUS="UPP_PAY_STATUS";
	/**
	 * 支付机构支付流水
	 */
	public static final String ORG_PAY_NO = "ORG_PAY_NO";
	/**
	 * 订单退款金额
	 */
	public static final String REFUND_AMOUNT = "REFUND_AMOUNT";
	/**
	 * 统一支付平台退款流水
	 */
	public static final String UPP_REFUND_NO="UPP_REFUND_NO";
	/**
	 * 批量退款，退款成功 总笔数
	 */
	public static final String UPP_REFUND_NUM="UPP_REFUND_NUM";
	/**
	 * 支付机构退款流水
	 */
	public static final String ORG_REFUND_NO ="ORG_REFUND_NO";
	/**
	 * 支付机构查询订单状态中的退款状态
	 */
	public static final String REFUNDFLAG ="refundFlag";
	/**
	 * 支付机构查询订单接口返回的支付状态
	 */
	public static final String STATUS ="status";
	/**
	 * 支付机构返回退款说明
	 */
	public static final String ORG_REFUND_MSG="ORG_REFUND_MSG";
	/**
	 * 支付机构退款状态原始状态
	 */
	public static final String ORG_REFUND_STATUS="ORG_REFUND_STATUS";
	/**
	 * 统一支付平台退款状态
	 */
	public static final String UPP_REFUND_STATUS="UPP_REFUND_STATUS";
	/**
	 * 退款接口返回统一支付平台退款状态
	 */
	public static final String REFUNDSTATUS="refundStatus";
	/**
	 * 支付机构退款金额
	 */
	public static final String ORG_REFUND_AMOUNT="ORG_REFUND_AMOUNT";
	/**
	 * 内部商户退款异步通知 URL
	 */
	public static final String INTERUPP_REFUND_NOTIFYURL="INTERUPP_REFUND_NOTIFYURL";
	/**
	 * 重复支付标识 Y
	 */
	public static final String UPP_PREPEAT="Y";
	/**
	 * ECOP工号
	 */
	public static final String STAFF_ID="STAFF_ID";
	/**
	 * 更新accdet中的订单字段
	 */
	public static final String UPP_FLOWINTERID="flow_interid";
	/**
	 *  支付机构返回 退款明细 
	 */
	public static final String ORG_REFUND_DETAIL ="ORG_REFUND_DETAIL";
	/**
	 * 分润号
	 */
	public static final String PAY_SH_DETAILID="PAY_SH_DETAILID";
	/**
	 *  分润状态
	 */
	public static final String PAY_SH_STATUS="PAY_SH_STATUS";
	/**
	 * 分润代码说明
	 */
	public static final String PAY_SH_DETAIL_MSG="PAY_SH_DETAIL_MSG";
	
	/**
	 * 父订单
	 */
	public static final String PAY_PARENT_ORDERID="PAY_PARENT_ORDERID";
	/**
	 * 退款状态
	 */
	public static final String REFUND_STATUS="REFUND_STATUS";
	/**
	 * 退款接口类型
	 */
	public static final String ORDER_REFUND_INTERFACE_TYPE="orderRefund";
	/**
	 * 查询接口类型
	 */
	public static final String ORDER_QUERY_INTERFACE_TYPE="orderQuery";
	/**
	 * 微信支付订单退款结果查询
	 */
	public static final String ORDER_QUERY_REFUND_RESULT="orderRefundResult";
	
	/**
	 * 中信支付订单退款结果查询
	 */
	public static final String SWIFT_ORDER_QUERY_REFUND_RESULT="swiftOrderRefundResult";
	
	/**
	 * 对于内部商户支付结果异步通知失败的订单，进行重复通知
	 */
	public static final String ORDER_RE_PAY_NOTIFY="rePayNotify";
	
	/**
	 * 对于内部商户支付结果异步通知失败的订单，进行重复通知
	 */
	public static final String ORDER_PAY_BITCH_NOTIFY="rePayBitchNotify";
	
	/**
	 * 对于内部商户支付结果异步通知失败的订单，进行重复通知
	 */
	public static final String ORDER_PAY_HAND_BITCH_NOTIFY="rePayHandBitchNotify";
	
	/**
	 * 对于长时间没有收到支付结果的订单，向其支付机构主动查询其支付结果
	 */
	public static final String ORDER_RE_QUERY="reQueryOrder";
	/** 
	* 下载第三方文件接口
	 */
	public static final String UPP_DOWNLOADFILE="downFile";
	
	/**
	 * ALIPAY
	 */
	public static final String FTP_TYPE_ALIPAY="ALIPAY";
	
	/**
	 * UMPAY
	 */
	public static final String FTP_TYPE_UMPAY="UMPAY";
	
	/**
	 * WEIXIN
	 */
	public static final String FTP_TYPE_WEIXIN="WEIXIN";
	
	/**
	 * IPOS
	 */
	public static final String FTP_TYPE_IPOS="IPOS";
	
	/**
	 * TENPAY
	 */
	public static final String FTP_TYPE_TENPAY="TENPAY";
	
	/**
	 * MER_TYPE
	 */
	public static final String FTP_MER_TYPE="MER_TYPE";
	
	
	/**
	 * ftp merid
	 */
	public static final String FTP_MERID="MER_ID";
	/**
	 * 本地请求MD5
	 */
	public static final String UPP_LOCAL_MD5="UPP_LOCAL_MD5";
	
	/**
	 * 本地内网请求URL；用于做订单查询 ，订单退款 http://localhost:9002/upp/pay/orderOper.html
	 */
	public static final String ORDEROPER_URL ="ORDEROPER_URL";
	
	/**
	 * 本地内网请求URL，主要用于内部任务调度URL
	 */
	public static final String LOCAL_TASK_URL ="LOCAL_TASK_URL";
	
	/**
	 * 支付页面有效期
	 */
	public static final String PAYLISTAVAILABLE ="PAYLISTAVAILABLE";
	
	/**
	 * UPPCONSOLE发起退款请求时 异步结果通知地址
	 */
	public static final String LOCAL_REFUNDNOTIFYURL ="LOCAL_REFUNDNOTIFYURL";

	/**
	 * 支付渠道
	 */
	public static final String PAY_NOTIFY_URL = "payNotifyURL";

	/**
	 * 支付币种
	 */
	public static final String ORG_PAY_CURRENCY = "ORG_PAY_CURRENCY";

	/**
	 * 支付业务结果编码
	 * */
	public static final String RESULT_CODE = "RESULT_CODE";
	/**
	 * 支付业务结果信息
	 * */
	public static final String RESULT_MSG = "RESULT_MSG";

	/**
	 * 支付业务结果编码
	 * */
	public static final String RETURN_CODE = "RETURN_CODE";
	/**
	 * 支付业务结果信息
	 * */
	public static final String RETURN_MSG = "RETURN_MSG";

	/**
	 * 签名
	 * */
	public static final String SIGN = "sign";

	/**
	 * 订单优惠信息
	 */
	public static final String ISSADDNDATA= "issAddnData";

	/**
	 * 签名密钥
	 * */
	public static final String SIGN_KEY = "signKey";

	/**
	 * RSA签名公钥
	 * */
	public static final String RSA_PUB_KEY = "rsaPubKey";

	/**
	 * 微信刷卡不确定状态返回码
	 * */
	public static final String USERPAYING = "USERPAYING";
	
	/**
	 * 一码付微信
	 */
	public static String WXCODEPAY = "WXJSAPI";
	/**
	 * 一码付支付宝
	 */
	public static String ALICODEPAY = "ALIPAYJSAPI";
	/**
	 * 微信支付方式区别字段
	 */
	public static String WXTAG = "WX";
	/**
	 * 支付宝支付方式区别字段
	 */
	public static String ALITAG = "ALI";
	/**
	 * 支付宝支付方式区别字段
	 */
	public static String UNIONPAYTAG = "UNIONPAY";
	/**
	 * 一码付支付类型
	 */
	public static String ONECODEPAY = "NativeGWDirectPay";
	/**
	 * 刷卡(扫码枪扫付款码)支付类型
	 */
	public static String MICROPAY = "MICROPAY";
	/**
	 * 一码付银行列表显示楼层
	 */
	public static String ONECODEPAYSHOWVIEWE = "9";
	/**
	 * 刷卡(扫码枪扫付款码)支付类型
	 */
	public static String MICROPAYSHOWVIEW = "10";
	/**
	 * 微信刷卡需用户验证情况，对订单查询的间隔时间
	 */
	public static Long MICROREVOKETIMEGAP = 5000L;
	/**
	 * 微信刷卡需用户验证情况，对订单查询的次数
	 */
	public static Integer MICROREVOKETIMER = 15;
	/**
	 * 刷卡支付是否需要查询
	 */
	public static String MICRORNEEDQUERY = "Y";
	/**
	 * 交易默认有效期：30分钟
	 */
	public static String TRANS_TERM_OF_VALIDAITY = "30";
	/**
	 * 字典类型--回调返回信息
	 */
	public static String NOTIFY_RETURN_MSG="NOTIFY_RETURN_MSG";
	/**
	 * 通联支付方式区别字段
	 */
	public static String ALLIN_TAG = "ALLIN";
	/**
	 * 银联云闪付支付方式区别字段
	 */
	public static String CLOUD_FLASH_TAG = "UNIONCLOUD";
	/**
	 * 订单临时数据缓存KEY
	 */
	public static String ORDER_TMP_LOG_KEY = REDIS_PRENAME + "order_tmp_log:";
	/**
	 * 订单临时数据缓存时间 expire
	 */
	public static int ORDER_TMP_LOG_EXPIRE = 24 * 3600 * 2;
	/**
	 * 订单和支付机构key前缀
	 */
	public static String ORDERID_PAYORG_KEY = REDIS_PRENAME + "order_id_payorg:";
	/**
	 * 工行订单信息PayFlowBean的KEY前缀(用于后面的清分操作)
	 */
	public static String ICBC_PAYFLOWBEAN = REDIS_PRENAME + "icbc_payflowbean:";
	/**
	 * 中金订单信息PayFlowBean的KEY前缀(用于后面的清分操作)
	 */
	public static String ZJZF_PAYFLOWBEAN = REDIS_PRENAME + "zjzf_payflowbean:";
	/**
	 * 工行支付实现类信息PayOrganizationBean的KEY前缀(用于后面的清分操作)
	 */
	public static String ICBC_PAYORGANIZATIONBEAN = REDIS_PRENAME + "icbc_payorganizationbean:";
	/**
	 * 中金支付实现类信息PayOrganizationBean的KEY前缀(用于后面的清分操作)
	 */
	public static String ZJZF_PAYORGANIZATIONBEAN = REDIS_PRENAME + "zjzf_payorganizationbean:";
	/**
	 * 工行支付参数信息MerChantInfoBean的KEY前缀(用于后面的清分操作)
	 */
	public static String ICBC_MERCHANTINFOBEAN = REDIS_PRENAME + "icbc_merchantinfobean:";
	/**
	 * 中金支付参数信息MerChantInfoBean的KEY前缀(用于后面的清分操作)
	 */
	public static String ZJZF_MERCHANTINFOBEAN = REDIS_PRENAME + "zjzf_merchantinfobean:";
    /**
	 * 清分信息队列
	 */
	public static String SUBORDER_QUEUE = REDIS_PRENAME + "suborder_queue:";
	/**
	 * 银联订单信息PayFlowBean的KEY前缀(用于后面的清分操作)
	 */
	public static String UNION_PAYFLOWBEAN = REDIS_PRENAME + "union_payflowbean:";
	/**
	 * 银联支付实现类信息PayOrganizationBean的KEY前缀(用于后面的清分操作)
	 */
	public static String UNION_PAYORGANIZATIONBEAN = REDIS_PRENAME + "union_payorganizationbean:";
	/**
	 * 银联支付参数信息MerChantInfoBean的KEY前缀(用于后面的清分操作)
	 */
	public static String UNION_MERCHANTINFOBEAN = REDIS_PRENAME + "union_merchantinfobean:";
	/**
	 * 一码付返回resultHtml前缀
	 */
	public static String NATIVE_GW_DIRECT_PAY_ORDER_ID = REDIS_PRENAME + "NativeGWDirectPay:";
	/**
	 * H5支付(UPP页面唤起)
	 */
	public static String H5_PAY_UPP_PAGE_DATA = REDIS_PRENAME + "h5_upp_page_data:";

	public static String H5_PAY_UPP_PAGE_PAY_STATUS_KEY = "pay_status";

	public static String H5_PAY_UPP_PAGE_PAY_STATUS_OK = "1";

	/**
	 * 微信订单信息PayFlowBean的KEY前缀(用于后面的清分操作)
	 */
	public static String WX_PAYFLOWBEAN = REDIS_PRENAME + "wx_payflowbean:";
	/**
	 * 微信支付实现类信息PayOrganizationBean的KEY前缀(用于后面的清分操作)
	 */
	public static String WX_PAYORGANIZATIONBEAN = REDIS_PRENAME + "wx_payorganizationbean:";
	/**
	 * 微信支付参数信息MerChantInfoBean的KEY前缀(用于后面的清分操作)
	 */
	public static String WX_MERCHANTINFOBEAN = REDIS_PRENAME + "wx_merchantinfobean:";

	/**
	 * 支付宝订单信息PayFlowBean的KEY前缀(用于后面的清分操作)
	 */
	public static String ALI_PAYFLOWBEAN = REDIS_PRENAME + "ali_payflowbean:";
	/**
	 * 支付宝支付实现类信息PayOrganizationBean的KEY前缀(用于后面的清分操作)
	 */
	public static String ALI_PAYORGANIZATIONBEAN = REDIS_PRENAME + "ali_payorganizationbean:";
	/**
	 * 支付宝支付参数信息MerChantInfoBean的KEY前缀(用于后面的清分操作)
	 */
	public static String ALI_MERCHANTINFOBEAN = REDIS_PRENAME + "ali_merchantinfobean:";
	/**
	 *  统一获取银行列表支付方式
	 */
	public static String UNIFIED_BANK_LIST = "UnifiedBankList";
	public static String UNIFIED_BANK_LIST_SHOWVIEWE = "19";
}
